package io;

import java.io.File;
import java.util.Scanner;

public class Demo11 {
    public static void main(String[] args) {
        //输入必要的信息
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要搜索的目录");
        String rootPath = scanner.next();
        System.out.println("请输入要查询的词");
        String searchWord = scanner.next();

        //构造File对象   ,检查路径是否合法
        File rootFile = new File(rootPath);
        if (!rootFile.isDirectory()) {
            System.out.println("输入的路径非法!");
            return;
        }
        //进行递归搜素
        searchFile(rootFile,searchWord);
    }

    public static void searchFile(File rootFile,String searchWord) {
        //列出当前目录有那些内容
        File[] files = rootFile.listFiles();
        if (files == null) {
            //空目录直接返回
            return;
        }

        //2.遍历目录下的每个结果  进行判定

        for (File f: files) {
            if (f.isFile()) {
                //普通文件,就判断一下  文件名是否有包含  查询词
                String fileName = f.getName();
                if (fileName.contains(searchWord)) {
                    //当前文件  即为所求
                    System.out.println("找到匹配结果:" + f.getAbsolutePath());  //输出绝对路径
                    delete(f);
                }
            }else  if (f.isDirectory()) {
                //针对子目录进行进一步递归
                searchFile(f,searchWord);
            }
        }
    }

    //删除文件
    public static void delete(File file) {
        System.out.println("是否要删除该文件?  删除请输入y  否则输入z");
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        if (str.equals("y")) {
            file.delete();
        }else {
            System.out.println("不删除该文件");
        }

    }
}
